<?php
class PreguntaDAO extends CI_Model {
	
	
	public function create(PreguntaVO $pregunta){
		
		$insert = array ('id_cargo' 			=> 	$pregunta->cargo, 
						 'id_competencia' 			=> 	$pregunta->competencia, 
						 'descripcion_pregunta'	=>	$pregunta->descpreg);		
		
		try {
			$result = $this -> db -> insert('pregunta', $insert);
		} catch (Exception $e) {
			return false;
		}
				
		return true;		
	}
	
	public function update(PreguntaVO $pregunta){	
		$update = array ('id_cargo' 			=> 	$pregunta->id_cargo, 
						 'id_competencia' 		=> 	$pregunta->id_competencia, 
						 'descripcion_pregunta'	=>	$pregunta->descripcion_pregunta);
		
		$this -> db -> where('id_pregunta', $pregunta->id_pregunta);
	
		try {
			$result = $this -> db -> update('pregunta', $update);
		} catch (Exception $e) {
			return false;
		}
	
		return true;
	
	}
	
	public function resumenPorCargo($id_cargo){
		
		$this -> db -> select('id_cargo, id_competencia, descripcion_pregunta ');
		$this -> db -> from('pregunta');
		$this -> db -> where('id_cargo', $id_cargo);
		$this -> db -> order_by('id_competencia', 'asc');
		
		try {
			$result = $this -> db -> get();
		} catch (Exception $e) {
			return false;
		}
		
		if($result -> num_rows() > 0){
			return $result;
		} else {
			return false;
		}
		
	}
	
	public function search(){
	
		$this -> db -> select('id_pregunta, id_cargo, id_competencia, descripcion_pregunta');
		$this -> db -> from('pregunta');
	
		try {
			$result = $this -> db -> get();
		} catch (Exception $e) {
			$this->form_validation->set_message('search', '');
			return false;
		}
	
		if($result -> num_rows() > 0)
		{
			return $result;
		}
		else
		{
			return false;
		}
	}
	
	public function findById($id_pregunta){
		$this->load->model('vo/PreguntaVO');
	
		$this -> db -> select('id_pregunta, id_cargo, id_competencia, descripcion_pregunta');
		$this -> db -> from('pregunta');
		$this -> db -> where('id_pregunta', $id_pregunta);
	
		$preguntaVO = new preguntaVO();
	
		try {
			$pregunta = $this -> db -> get();
				
			foreach ($pregunta->result() as $pregunta){
				$preguntaVO->id_pregunta 			= $pregunta->id_pregunta;
				$preguntaVO->id_cargo 				= $pregunta->id_cargo;
				$preguntaVO->id_competencia			= $pregunta->id_competencia;
				$preguntaVO->descripcion_pregunta	= $pregunta->descripcion_pregunta;
			}
			return $preguntaVO;
				
		} catch (Exception $e) {
			$this->form_validation->set_message('findById', '');
			return $preguntaVO;
		}
	}
	
}